package com.ruifu.doc.service;

import com.fhzncloud.cloud.common.security.service.CloudUser;
import com.ruifu.doc.dto.fold.DmFoldDTO;
import com.ruifu.doc.dto.fold.DmFoldUpdateDTO;
import com.ruifu.doc.vo.fold.DmFoldVO;

import java.util.List;

/**
 * @author nyr
 * @create 2019/11/11
 */
public interface DmFoldService {
    /**
     * 创建文件夹
     *
     * @param dmFoldDTO
     * @param cloudUser
     * @return 文件夹id
     */
    Long insert(DmFoldDTO dmFoldDTO, CloudUser cloudUser);

    /**
     * 修改文件夹
     *
     * @param dmFoldUpdateDTO
     * @param cloudUser
     */
    void update(DmFoldUpdateDTO dmFoldUpdateDTO, CloudUser cloudUser);

    /**
     * 删除文件夹
     *
     * @param fdFoldId  文件夹id
     * @param cloudUser
     */
    void delete(Long fdFoldId, CloudUser cloudUser,Integer signBoardDoc);

    /**
     * 页面加载查询文件夹列表
     *
     * @param cloudUser
     * @return
     */
    List<DmFoldVO> findList(CloudUser cloudUser,Integer signBoardDoc);

    /**
     * 根据文件夹id查询文件夹信息
     *
     * @param fdFoldId
     * @param cloudUser
     * @return
     */
    DmFoldVO findById(Long fdFoldId, CloudUser cloudUser);

    /**
     * 文件夹权限
     * @param cloudUser
     * @param fdFoldId 文件夹id
     * @return
     */
    String findPermissionByUserIdAndFold(CloudUser cloudUser, Long fdFoldId);

    /**
     * 指定文件夹是否包含选中
     * @param foIdString
     * @param fdFoldId
     * @return
     */
    Boolean isContain(Long fdFoldId,String foIdString);
}
